package cn.da.shuai.cool.finance.model;

import cn.da.shuai.cool.common.entity.EntityBase;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDate;

@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("cool_budget")
public class CoolBudget extends EntityBase {

    @TableField("id")
    private Long id;

    @TableField("department_id")
    private Long departmentId;

    @TableField("department_name")
    private String departmentName;

    @TableField("category")
    private String category;

    @TableField("subcategory")
    private String subcategory;

    @TableField("fiscal_year")
    private Integer fiscalYear;

    @TableField("fiscal_month")
    private Integer fiscalMonth;

    @TableField("amount")
    private BigDecimal amount;

    @TableField("actual_amount")
    private BigDecimal actualAmount;

    @TableField("variance")
    private BigDecimal variance;

    @TableField("variance_percentage")
    private BigDecimal variancePercentage;

    @TableField("notes")
    private String notes;

    @TableField("status")
    private String status; // DRAFT, APPROVED, REJECTED, REVISED

    @TableField("approved_by")
    private Long approvedBy;

    @TableField("approved_date")
    private LocalDate approvedDate;
}